---
# Copyright 2016, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

cinder_service_region: "{{ service_region }}"
# If there are Swift hosts in the environment, then enable cinder backups to it
cinder_service_backup_program_enabled: "{{ hostvars['localhost']['cinder_service_backup_program_enabled'] }}"

# These are here rather than in cinder_all because
# both the os_ceilometer and os_cinder roles require them

# RPC
cinder_rabbitmq_userid: cinder
cinder_rabbitmq_vhost: /cinder
cinder_rabbitmq_port: "{{ rabbitmq_port }}"
cinder_rabbitmq_servers: "{{ rabbitmq_servers }}"
cinder_rabbitmq_use_ssl: "{{ rabbitmq_use_ssl }}"
cinder_rabbitmq_host_group: "{{ rabbitmq_host_group }}"

# Telemetry notifications
cinder_rabbitmq_telemetry_userid: "{{ cinder_rabbitmq_userid }}"
cinder_rabbitmq_telemetry_password: "{{ cinder_rabbitmq_password }}"
cinder_rabbitmq_telemetry_vhost: "{{ cinder_rabbitmq_vhost }}"
cinder_rabbitmq_telemetry_port: "{{ cinder_rabbitmq_port }}"
cinder_rabbitmq_telemetry_servers: "{{ cinder_rabbitmq_servers }}"
cinder_rabbitmq_telemetry_use_ssl: "{{ cinder_rabbitmq_use_ssl }}"
cinder_rabbitmq_telemetry_host_group: "{{ cinder_rabbitmq_host_group }}"

# If there are any Ceilometer hosts in the environment, then enable its usage
cinder_ceilometer_enabled: "{{ (groups['cinder_all'] is defined) and (groups['cinder_all'] | length > 0) and (groups['ceilometer_all'] is defined) and (groups['ceilometer_all'] | length > 0) }}"

# The MySQL details for the cinder service
cinder_galera_user: cinder
cinder_galera_database: cinder
cinder_galera_address: "{{ galera_address }}"

# The address used to listen for communications
cinder_management_address: "{{ ansible_host }}"

# The address used for communications with the glance service
cinder_glance_host: "{{ internal_lb_vip_address }}"
cinder_glance_service_port: "{{ glance_service_port }}"

# If there are Swift hosts in the environment, then use it as the default Glance store
# This is specifically duplicated from glance_all for the cinder_glance_api_version
# setting below.
glance_default_store: "{{ ((groups['swift_all'] is defined) and (groups['swift_all'] | length > 0)) | ternary('swift', 'file') }}"

# cinder_backend_lvm_inuse: True if current host has an lvm backend
cinder_backend_lvm_inuse: '{{ (cinder_backends|default("")|to_json).find("cinder.volume.drivers.lvm.LVMVolumeDriver") != -1 }}'
cinder_service_in_ldap: "{{ service_ldap_backend_enabled }}"
cinder_glance_api_servers: "{{ glance_api_servers }}"

# Ensure that the package state matches the global setting
cinder_package_state: "{{ package_state }}"

# The system user for all cinder services
cinder_system_user_name: cinder

# venv fetch configuration
cinder_venv_tag: "{{ venv_tag }}"
cinder_bin: "/openstack/venvs/cinder-{{ cinder_venv_tag }}/bin"
cinder_venv_download_url: "{{ venv_base_download_url }}/cinder-{{ openstack_release }}-{{ ansible_architecture | lower }}.tgz"

# If there are any Barbican hosts in the environment, then enable its usage
cinder_barbican_enabled: "{{ (groups['barbican_all'] is defined) and (groups['barbican_all'] | length > 0) }}"
